package demo2;

import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

/**
 * Create By IntelliJ IDEA
 *
 * @Author: jsonor
 * @Create-Time: 2017/9/14 10:10
 * @Description: 读取配置文件的测试
 */
public class Load {

  public static void main(String[] args) throws IOException {

    // 配置文件的类型
    // xml
    // properties

    // properties
    // 添加配置文件，
    // 1. 一般都是先建立一个文件夹，该文件夹的name为resources（资源）
    // 2. 将该文件夹设置成 " resources root"
    // 3. 配置文件中的信息以”key=value"的形式出现
    // 生成的根目录day03 对应的称为classes目录

    // 如何定位到class根目录文件
    // Load.class.getClassLoader().getResource();
    // Load.class 对类的描述
    // Load.class.getClassLoader() 加载类对象，确定好类对象的根目录
    // Load.class.getClassLoader().getResource()， 就会在对应的根目录下进行搜索
    // URL resource = Load.class.getClassLoader().getResource("p1/r2.properties");

    // get Resource as stream
    InputStream stream = Load.class.getClassLoader().getResourceAsStream("r1.properties");

    // Properties类对应一个properties文件
    Properties prop = new Properties();
    // 将流载入到Properties对象中
    prop.load(stream);

    List<String> propsValues = new ArrayList<>();
    propsValues.add(prop.getProperty("key1"));
    propsValues.add(prop.getProperty("key2"));

    propsValues.add(prop.getProperty("driver"));
    propsValues.add(prop.getProperty("url"));
    propsValues.add(prop.getProperty("name"));
    propsValues.add(prop.getProperty("password"));

    System.out.println(propsValues);
  }
}
